1 Clinical Library

features = readRDS("../../quality_control/human/QC_human__stability_selection__features.rds")
metadata = readRDS("../../quality_control/human/QC_human__stability_selection__features_metadata.rds")
layout = substr(rownames(features), 12, 14)
features = features[layout %in% c("L08"), ]
metadata = metadata[layout %in% c("L08"), ]

Renormalize features to make them comparable

features = apply(features, 2, function(x) {
  (x - mean(x)) / sd(x)})

2 Distance maps for each drug to DMSO

cell_line = "D004T01"
cl_features = features[metadata$CELL.LINE == cell_line, ]
cl_metadata = metadata[metadata$CELL.LINE == cell_line, ]
dmso_features = cl_features[cl_metadata$DRUG == "DMSO", ]

for(drug in unique(cl_metadata$DRUG)) {
  if(drug == "DMSO") next
  drug_features = cl_features[cl_metadata$DRUG == drug, ]
  if(nrow(drug_features) < 10) next
  combined_features = rbind(dmso_features, drug_features)
  annotation = data.frame(
    "Treatment" = cl_metadata[rownames(combined_features), "DRUG"], 
    "Concentration" = as.character(ifelse(
      test = cl_metadata[rownames(combined_features), "DRUG"] == "DMSO", 
      yes = NA, no = cl_metadata[rownames(combined_features), "CONCENTRATION"])), 
    row.names = rownames(combined_features))
  annotation_colors = list(
    "Treatment" = c("Blue", "Red"), 
    "Concentration" = c("Grey", "Yellow", "Blue", "Green", "Red"))
  names(annotation_colors$Treatment) = c("DMSO", drug)
  names(annotation_colors$Concentration) = levels(annotation$Concentration)
  pheatmap(
    mat = dist(combined_features), annotation_col = annotation, 
    annotation_colors = annotation_colors, main = drug)
}